package algorithm.sort;

import java.util.Arrays;
import java.util.logging.Logger;

/**
 * @Description：选择排序
 * @Author：LiDong
 * @Create：2021/2/22
 * @Version：1.0.0
 */
public class ChooseSort {

    private static final Logger logger = Logger.getLogger(String.valueOf(BubblingSort.class));

    /**
     * 在一个长度为N的数组中，第一次遍历n-1个数找到最小的和第一个交换。
     * 第二次从下一个数开始遍历n-2个数，找到最小的数和第二个数交换。
     * 重复操作直到n-1次遍历最小的数和第n-1个数交换。
     */

    public static void main(String[] args) {
        int[] arr = {7, 10, 7, 4, 6, 3};
        String message = String.format("数组大小为：%d", arr.length);
        logger.info(message);
        for (int i = 0; i < arr.length; i++) {
            int min = arr[i];
            for (int j = i; j < arr.length; j++) {
                if (min > arr[j]) {
                    int temp = arr[j];
                    arr[j] = min;
                    min = temp;
                }
            }
            arr[i] = min;
        }
        logger.info(Arrays.toString(arr));
    }

}
